$(function() {
	var isAdd = true;

	// 校验弹框输入数据
	$("#addUserForm").validate({
		errorElement : 'span',
		errorPlacement : function(error, element) {
			error.appendTo(element.parent());
		},
		rules : {
			userName : "required",
			loginName : {
				required : true,
				remote : {
					url : "checkLoginNameUrl",
					type : "post",
					dataType : "json",
					data : {
						loginName : function() {
							return $("input[name=lName]").val();
						},
					}
				},
				minlength : 6,
				maxlength : 18,
			},
			loginPassword : {
				required : true,
				minlength : 6,
				maxlength : 20,
			},
			roleId : "required",
		},
		msgs : {
			userName : "请输入用户名",
			loginName : {
				required : "请输入登录名",
				remote : "登录名已存在",
				minlength : "登录名不少于6位",
				maxlength : "登录名6--18位",
			},
			loginPassword : {
				required : "请输入密码",
				minlength : "密码6-20位",
				maxlength : "密码6-20位",
			},
			roleId : "请选择角色",
		},
		submitHandler : function(form) { // 验证通过后的执行方法
			// 当前的form通过ajax方式提交（用到jQuery.Form文件）
			var url = "addUser";
			var userName = $("#userName").val();
			var loginName = $("#loginName").val();
			var loginPassword = $("#lopwd").val();
			var roleId = $("select[name=roleId]").val();
			$.post(url, {
				userName : userName,
				loginName : loginName,
				loginPassword : loginPassword,
				roleId : roleId
			}, function(data) {
				if(data.code == 200){
					layer.msg(data.msg, {icon : 1,time : 1500,});
					setTimeout(function(){
						$("#modal-edit").modal('hide');
						$('#table').bootstrapTable("refresh");
					},2000);
				}else{
					layer.msg(data.msg, {icon : 2,time : 1500,});
				}
			}, "json");
		},
	});

	$("#updateUserForm").validate({
		errorElement : 'span',
		errorPlacement : function(error, element) {
			error.appendTo(element.parent());
		},
		rules : {
			userName1 : "required",
			loginPassword1 : {
				required : true,
				minlength : 6,
				maxlength : 35,
			},
			roleId : "required",
		},
		msgs : {
			userName1 : "请输入用户名",
			loginPassword1 : {
				required : "请输入密码",
				minlength : "密码6-35位",
				maxlength : "密码6-35位",
			},
			roleId : "请选择角色",
		},
		submitHandler : function(form) { // 验证通过后的执行方法
			// 当前的form通过ajax方式提交（用到jQuery.Form文件）
			var url = "updateUser";
			var userId = $("#userId").val();
			var userName = $("#userName1").val();
			var loginName = $("#loginName1").val();
			var userStatus = $("input[name=userStatus]:checked").val();
			var loginPassword = $("input[name=loginPassword1]").val();
			var roleId = $("#editRoleId").val();
			$.post(url, {
				userId : userId,
				userName : userName,
				loginName : loginName,
				userStatus : userStatus,
				loginPassword : loginPassword,
				roleId : roleId
			}, function(data) {
				if(data.code == 200){
					layer.msg(data.msg, {icon : 1,time : 1500,});
					setTimeout(function(){
						$("#modal-edit2").modal('hide');
						$('#table').bootstrapTable("refresh");
					},2000);
				}else{
					layer.msg(data.msg, {icon : 2,time : 1500,});
				}
			}, "json");
		},
	});
	
	$("#saveBtn").click(function (){
		$(this).attr("disabled",true);
		 $("#addUserForm").submit(); 
	    setTimeout("$('#saveBtn').removeAttr('disabled')",3000);
	});

	// 批量删除
	$("#deleteBtn").click(function() {
		var ids = getIdSelections();
		if (ids == "") {
			layer.msg("未选择数据");
		} else {
			layer.confirm('确定要删除所选数据吗？',{btn: ['确定','取消']},function (){	
				$.post("deleteUserById", {
					pIds : JSON.stringify(ids)
				}, function(data) {
					if(data.code == 200){
						layer.msg(data.msg, {icon : 1,time : 1500,});
					}else{
						layer.msg(data.msg, {icon : 2,time : 1500,});
					}
					$('#table').bootstrapTable('remove', {
						field : 'user_id',
						values : ids,
					});
				}, "json");
				return true;
			});
		}
	});

	$("#edit").click(function() {
		isAdd = false;
		var ids = getAllChecked();
		if (ids.length == 1) {
			var user = getSelections();
			$("input[name=userName1]").val(user[0].user_name);
			$("input[name=loginPassword1]").val(user[0].login_password);
			$("input[name=loginName1]").val(user[0].login_name);
			$("#userId").val(user[0].user_id);
			if (user[0].user_status == 1) {
				$("#yes").prop("checked", true);
			}
			if (user[0].user_status == 2) {
				$("#no").prop("checked", true);
			}
			$.post("getUserRole", {
				userId : user[0].user_id
			}, function(data) {
				$("#editRoleId").val(data.roleId);
			}, "json");
			$('#modal-edit2').modal('toggle');
		}else if(ids.length == 0){
			layer.msg("未选择数据");
		}else{
			layer.msg("请勿勾选多个");
		}
	});
	
	function getAllChecked (){
  		var ids = [];
  		$("input[type=checkbox]").each(
  			function (){
  				if(this.checked){
  					ids.push($(this).val());
  				}
  			}
  		);
  		return ids;
  	} 
	
	/*
	 * 得到所有选中行
	 */
	function getIdSelections() {
		return $.map($('#table').bootstrapTable('getSelections'),
		function(row) {
			return row.user_id;
		});
	}
	
	function getSelections() {
		return $.map($('#table').bootstrapTable('getSelections'),function(row) {
			return row;
		});
	}
	/*清空新增时的表单*/
	function clear(obj){
		$(obj).click(function(){
			location.href = "../a/sysuser"
		});
	}
	/*新增弹框×号*/
	clear(".close");
	/*取消按钮*/
	clear(".closeBtn");
	
	/**
	 * 校验登录名为数字，字母，下划线
	 * 
	 */
	$("#loginName").keyup(function(){
		var patrn=/^[0-9a-zA-Z_]{1,}$/;
		var str=$("input[name=loginName]").val();
	if(""!=str){
		if (!patrn.exec(str)) {
			$("#msg").html("请输入数字、字母、下划线");
			$("#saveBtn").attr("disabled", true);
		}else{
			$("#msg").html("");
			$("#saveBtn").attr("disabled", false);
		}
	}else{
		$("#msg").html("");
		$("#saveBtn").attr("disabled", false);
	}
	})
});
